package com.lanou3g.code0427.study;

import com.lanou3g.code0427.util.JDBCUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * Created by dllo on 18/4/27.
 */
public class SQLTest {
    // 防止SQL注入
    public static void main(String[] args) {
        Connection conn = JDBCUtil.getConn();
        String sql = "SELECT * FROM users " + "WHERE usrname=?AND pwd+?";
        try {
            /*
            为了防止 SQL注入
            需要使用 Statement的子类
            prepareStatement
            它在使用的时候,sql 不需要拼接 字符串
            而是使用 ? 作为变量的占位符
            之后 调用setXXX的方法 去为每个占位符设置内容
             */
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "Aa");
            ps.setString(2, "123456");
            // 1 代表 sql语句中的第一个?
            // "AA" 代表这个? 对应的值

            ResultSet rs = ps.executeQuery();

            if (rs.next()) {
                String word = rs.getString("word");
                System.out.println(word);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
